package com.koron.css2.contractmanage.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.css2.baseConfig.bean.AccessoryPathBean;
import com.koron.css2.baseConfig.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 合同管理实体类
 *
 * @author 李文浩
 * @version YH230315
 * @date 2023/4/17 10:03
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@ApiModel(value = "合同管理实体类", description = "用于增、删、改、详情等合同信息")
public class ContractManageBean extends BaseBean {

    @ApiModelProperty("户号")
    private String userNo;

    @ApiModelProperty("工程报装id")
    private String projectId;

    @ApiModelProperty("工程报装单号")
    private String billNo;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("证件类型")
    private String certType;

    @ApiModelProperty("证件号码")
    private String certNo;

    @ApiModelProperty("手机号码")
    private String mobile;

    @ApiModelProperty("合同编号")
    private String contractNo;

    @ApiModelProperty("合同类型（0-电子供水合同/1-普通供水合同/2-电子施工合同/3-普通施工合同）")
    private String contractType;

    @ApiModelProperty("合同类型名称")
    private String contractTypeName;

    @ApiModelProperty("合同状态（0-未开始/1-进行中/2- 签约完成/3-签约失败/5-归档完成/6-作废）")
    private String contractStatus;

    @ApiModelProperty("合同状态名称")
    private String contractStatusName;

    @ApiModelProperty("合同文件地址")
    private String contractFileAddr;
    private List<AccessoryPathBean> contractFileAddrList;

    @ApiModelProperty("合同平台ID")
    private String recordId;

    @ApiModelProperty("合同流水ID")
    private String contractFlowId;

    @ApiModelProperty("电子合同文件ID")
    private String fileId;

    @ApiModelProperty("失败状态")
    private String failStatus;

    @ApiModelProperty("备注")
    private String comments;

    @ApiModelProperty("合同签订日期 用户表中的字段")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date contractDate;

    @ApiModelProperty("证件类型名称")
    private String certTypeName;

    @ApiModelProperty("合同文件名称")
    private String contractFileName;

    @ApiModelProperty("客户地址 客户表中的字段")
    private String ctmAddr;
    private String pjMeterId;

    private String contractManageBeanList;

    private String contractName;

    /**
     * 用户上传附件
     */
    private String tempId;
}
